home *** CD-ROM | disk | FTP | other *** search
- #include "bbs.h"
- /**** totally revised
- int MenuSend(char *s)
- {
- FILE *fp;
- int stat;
- char c[1000];
-
- if(!(fp= fopen(s,"r"))) {
- UnAvailNotice(s,c);
- return(FAILURE);
- }
-
-
- while(fgets(c,995,fp!=NULL) {
- c[996]='\0';
- if(c[strlen(c)-1]=='\n') strcat(c,"\r");
- AEPutStr(c);
-
- if(SCheckInput()) { /* CHECK FOR INPUT && CARRIER */
- stat=ReadChar(1L);
- if(stat<0) {
- if(fp) fclose(fp); return(NO_CARRIER);
- }
- switch(stat) {
- case '\023': /* Pause */
- stat=ReadChar(KEYBOARD_TIMEOUT);
- if(stat<0) {
- if(fp) fclose(fp); return(NO_CARRIER);
- }
- break;
- case '\003': /* ^C */
- AEPutStr("**Break\r\n\r\n");
- if(fp) fclose(fp);
- if(AnsiColor) AEPutStr("");
- return(SUCCESS);
- break;
- }
- }
- }
- if(fp) fclose(fp);
- if(AnsiColor) AEPutStr("");
- if(Whence_The_Logon>=REMOTE_LOGON) {
- stat=CheckCarrier();
- if(stat==FALSE) return(NO_CARRIER);
- }
- return(SUCCESS);
- }
-
- ***/
- int MenuSend(char *s)
- {
- FILE *fp;
- int stat;
- BOOL checked=FALSE;
- char c[1000]; /**** old char c[255],*p; ****/
- stat=Restricted(s);
- fp=fopen(s,"r");
- if(fp==NULL || stat)
- {
- UnAvailNotice(s,c);
- return(FAILURE);
- }
- ConPutStr(" p"); /* turn console cursor off */
- while(fgets(c,995,fp)!=NULL)
- {
- c[996]='\0'; /**** old c[251]='\0'; ****/
- if(c[0]=='~' && !checked){ fclose(fp); return(mcisend(s)); }
- checked=TRUE;
- if(c[strlen(c)-1]=='\n')
- {
- strcat(c,"\r");
- }
- AEPutStr(c);
- /* CHECK FOR INPUT && CARRIER */
- if(SCheckInput())
- {
- stat=ReadChar(1L);
- if(stat<0)
- {
- fclose(fp);ConPutStr(" p"); /* turn console cursor back on */
-
- return(NO_CARRIER);
- }
- switch(stat)
- {
- case '\023': /* Pause */
- stat=ReadChar(KEYBOARD_TIMEOUT);
- if(stat<0)
- {
- fclose(fp);
- ConPutStr(" p"); /* turn console cursor back on */
-
- return(NO_CARRIER);
- }
- break;
- case '\003': /* ^C */
- AEPutStr("**Break\r\n\r\n");
- fclose(fp);
- if(AnsiColor) { AEPutStr(""); }
- ConPutStr(" p"); /* turn console cursor back on */
-
- return(FAILURE);
- break;
- }
- }
- }
- fclose(fp);
- ConPutStr(" p"); /* turn console cursor back on */
-
- if(AnsiColor) { AEPutStr(""); }
- if(Whence_The_Logon>=REMOTE_LOGON)
- {
- stat=CheckCarrier();
- if(stat==FALSE)
- {
- return(NO_CARRIER);
- }
- }
- return(SUCCESS);
- }
-
-